/*
 * lanzadorPuertas.cpp
 *
 *  Created on: 11/08/2014
 *      Author: nicolas
 */

#include <iostream>
#include <sstream>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

#include "../defines.h"

using namespace std;

void lanzarPuertas() {

	stringstream ssNum, ssLugar;

	int pid;

	cout << "Lanzando Puertas ..." << endl;

	// lanzando Puertas
	for (int i = 0; i < CANT_ENTRADAS; ++i) {
		ssNum << (i + 1);

		pid = fork();

		if (pid == 0) {
			execlp("./entrada", "PuertaEntrada", ssNum.str().c_str(), NULL);
			perror("No se pudo iniciar proceso Puerta de Entrada");
			exit(EXIT_FAILURE);
		}

		pid = fork();

		if (pid == 0) {
			execlp("./salida", "PuertaSalida", ssNum.str().c_str(), NULL);
			perror("No se pudo iniciar proceso Puerta de Entrada");
			exit(EXIT_FAILURE);
		}

		ssNum.str("");
	}

	cout << "Puertas lanzadas" << endl;

}

int main(int argc, char** argv) {

	lanzarPuertas();

	return 0;
}

